/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntidadesDBPrueba;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author Facundo
 */
@Embeddable
public class InstitucionPK implements Serializable {
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 20)
    @Column(name = "nombreInstitucion", nullable = false, length = 20)
    private String nombreInstitucion;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 20)
    @Column(name = "nombreTipoInstitucion", nullable = false, length = 20)
    private String nombreTipoInstitucion;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 20)
    @Column(name = "nombreLocalidad", nullable = false, length = 20)
    private String nombreLocalidad;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 20)
    @Column(name = "nombreProvincia", nullable = false, length = 20)
    private String nombreProvincia;

    public InstitucionPK() {
    }

    public InstitucionPK(String nombreInstitucion, String nombreTipoInstitucion, String nombreLocalidad, String nombreProvincia) {
        this.nombreInstitucion = nombreInstitucion;
        this.nombreTipoInstitucion = nombreTipoInstitucion;
        this.nombreLocalidad = nombreLocalidad;
        this.nombreProvincia = nombreProvincia;
    }

    public String getNombreInstitucion() {
        return nombreInstitucion;
    }

    public void setNombreInstitucion(String nombreInstitucion) {
        this.nombreInstitucion = nombreInstitucion;
    }

    public String getNombreTipoInstitucion() {
        return nombreTipoInstitucion;
    }

    public void setNombreTipoInstitucion(String nombreTipoInstitucion) {
        this.nombreTipoInstitucion = nombreTipoInstitucion;
    }

    public String getNombreLocalidad() {
        return nombreLocalidad;
    }

    public void setNombreLocalidad(String nombreLocalidad) {
        this.nombreLocalidad = nombreLocalidad;
    }

    public String getNombreProvincia() {
        return nombreProvincia;
    }

    public void setNombreProvincia(String nombreProvincia) {
        this.nombreProvincia = nombreProvincia;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (nombreInstitucion != null ? nombreInstitucion.hashCode() : 0);
        hash += (nombreTipoInstitucion != null ? nombreTipoInstitucion.hashCode() : 0);
        hash += (nombreLocalidad != null ? nombreLocalidad.hashCode() : 0);
        hash += (nombreProvincia != null ? nombreProvincia.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof InstitucionPK)) {
            return false;
        }
        InstitucionPK other = (InstitucionPK) object;
        if ((this.nombreInstitucion == null && other.nombreInstitucion != null) || (this.nombreInstitucion != null && !this.nombreInstitucion.equals(other.nombreInstitucion))) {
            return false;
        }
        if ((this.nombreTipoInstitucion == null && other.nombreTipoInstitucion != null) || (this.nombreTipoInstitucion != null && !this.nombreTipoInstitucion.equals(other.nombreTipoInstitucion))) {
            return false;
        }
        if ((this.nombreLocalidad == null && other.nombreLocalidad != null) || (this.nombreLocalidad != null && !this.nombreLocalidad.equals(other.nombreLocalidad))) {
            return false;
        }
        if ((this.nombreProvincia == null && other.nombreProvincia != null) || (this.nombreProvincia != null && !this.nombreProvincia.equals(other.nombreProvincia))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "EntidadesDBPrueba.InstitucionPK[ nombreInstitucion=" + nombreInstitucion + ", nombreTipoInstitucion=" + nombreTipoInstitucion + ", nombreLocalidad=" + nombreLocalidad + ", nombreProvincia=" + nombreProvincia + " ]";
    }
    
}
